﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;

using Pulsar.ItinerarioWCF.Persistencia;
using Pulsar.Itinerario.Dominio;
using System.Web.Services;
using System.Web.Script.Services;
using System.Messaging;
using Pulsar.ItinerarioWCF.Dominio;


namespace Pulsar.ItinerarioWCF
{
    // NOTA: puede usar el comando "Rename" del menú "Refactorizar" para cambiar el nombre de clase "Service1" en el código, en svc y en el archivo de configuración.
    public class Itinerario : IItinerario
    {
        ItinerarioDAO iti = new ItinerarioDAO();
        [WebMethod, ScriptMethod]
        public List<Programacion> Listar(string origen, string destino, string fecini, string fecfin, string cant)
        {
            return iti.Listar(origen, destino, fecini, fecfin, cant);
        }

        [WebMethod, ScriptMethod]
        public string RegistrarCola(string idprogramacion, string dni, int cantidad)
        {
            string rutaCola = @".\private$\pulsar";
            if (!MessageQueue.Exists(rutaCola))
                MessageQueue.Create(rutaCola);
            MessageQueue cola = new MessageQueue(rutaCola);
            Message mensaje = new Message();
            mensaje.Label = "Nueva reserva";
            mensaje.Body = new ReservaMsj() { Idprogramacion = idprogramacion, Dni = dni, Cantidad = cantidad };
            cola.Send(mensaje);
            return "enviado";
        }
    }
}
